package com.hm.jiaowuxitong.ui;

import com.hm.jiaowuxitong.service.IGradeService;
import com.hm.jiaowuxitong.service.GradeServiceImp;
import com.hm.jiaowuxitong.util.DataUtil;
import com.hm.jiaowuxitong.util.UIUtil;

import javax.swing.*;
import java.awt.*;
import java.util.List;
import java.util.Map;

public class ShowSelfGradeInfoList {
    private Object[] columnNames={"学号","课程号","成绩","备注",};



    public ShowSelfGradeInfoList(String id){
        //创建面板
        JFrame frame=new JFrame("学生信息统计");
        //滚动画布
        JScrollPane pane=null;
        //获取出数据库中所有学生和教师的支出的信息
        IGradeService service=new GradeServiceImp();
        List<Map<String,Object>> oList=service.getGrades1(id);

        Object[][] objects = new DataUtil().dataFactory4(oList,  columnNames.length);

        //判断是否获得了数据
        if (objects.length>0){
            //从数据库中拿到了数据
            //将数据展示出来
            JTable table=new JTable(objects,columnNames);

            //给表格每一列进行设定宽度
            for (int i = 0; i < columnNames.length; i++) {
                table.getColumnModel().getColumn(i).setPreferredWidth(100);
            }
            pane=new JScrollPane(table);
        }else {
            //数据库中没有任何人员信息
            JLabel label=new JLabel("暂无人员详细信息");
            pane=new JScrollPane(label);
        }
        //将画布添加至面板，并且设置居中显示
        frame.getContentPane().add(pane, BorderLayout.CENTER);
        //让面板根据添加的控件的内容进行自适应
        frame.pack();
        //获得面板的当前宽高
        //让面板显示在屏幕中央
        new UIUtil().center(frame,frame.getWidth(),frame.getHeight());
        //显示面板
        frame.setVisible(true);

    }

    public static void main(String[] args) {
        new ShowSelfGradeInfoList("22201409");
    }
}
